home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 1 / ETO Development Tools 1.iso / Essentials / Developer Essentials Jul 90 / Programming / MPW Interfaces & Libraries 3.1 / CIncludes / Serial.h < prev    next >
Encoding:
C/C++ Source or Header  |  1989-10-13  |  2.2 KB  |  93 lines  |  [TEXT/MPS ]

  1. /************************************************************
  2.  
  3. Created: Thursday, September 7, 1989 at 7:24 PM
  4.     Serial.h
  5.     C Interface to the Macintosh Libraries
  6.  
  7.  
  8.     Copyright Apple Computer, Inc.    1985-1989
  9.     All rights reserved
  10.  
  11. ************************************************************/
  12.  
  13.  
  14. #ifndef __SERIAL__
  15. #define __SERIAL__
  16.  
  17. #ifndef __TYPES__
  18. #include <Types.h>
  19. #endif
  20.  
  21. #define baud300 380
  22. #define baud600 189
  23. #define baud1200 94
  24. #define baud1800 62
  25. #define baud2400 46
  26. #define baud3600 30
  27. #define baud4800 22
  28. #define baud7200 14
  29. #define baud9600 10
  30. #define baud19200 4
  31. #define baud57600 0
  32. #define stop10 16384
  33. #define stop15 -32768
  34. #define stop20 -16384
  35. #define noParity 0
  36. #define oddParity 4096
  37. #define evenParity 12288
  38. #define data5 0
  39. #define data6 2048
  40. #define data7 1024
  41. #define data8 3072
  42. #define ctsEvent 32
  43. #define breakEvent 128
  44. #define xOffWasSent 128
  45. #define dtrNegated 64
  46. #define ainRefNum -6        /*serial port A input*/
  47. #define aoutRefNum -7        /*serial port A output*/
  48. #define binRefNum -8        /*serial port B input*/
  49. #define boutRefNum -9        /*serial port B output*/
  50.  
  51. enum {sPortA,sPortB};
  52. typedef unsigned char SPortSel;
  53.  
  54. struct SerShk {
  55.     char fXOn;                /*XOn flow control enabled flag*/
  56.     char fCTS;                /*CTS flow control enabled flag*/
  57.     unsigned char xOn;        /*XOn character*/
  58.     unsigned char xOff;     /*XOff character*/
  59.     char errs;                /*errors mask bits*/
  60.     char evts;                /*event enable mask bits*/
  61.     char fInX;                /*Input flow control enabled flag*/
  62.     char fDTR;                /*DTR input flow control flag*/
  63. };
  64.  
  65. typedef struct SerShk SerShk;
  66. struct SerStaRec {
  67.     char cumErrs;
  68.     char xOffSent;
  69.     char rdPend;
  70.     char wrPend;
  71.     char ctsHold;
  72.     char xOffHold;
  73. };
  74.  
  75. typedef struct SerStaRec SerStaRec;
  76. #ifdef __cplusplus
  77. extern "C" {
  78. #endif
  79. pascal OSErr RAMSDOpen(SPortSel whichPort); 
  80. pascal void RAMSDClose(SPortSel whichPort); 
  81. pascal OSErr SerReset(short refNum,short serConfig);
  82. pascal OSErr SerSetBuf(short refNum,Ptr serBPtr,short serBLen); 
  83. pascal OSErr SerHShake(short refNum,const SerShk *flags);
  84. pascal OSErr SerSetBrk(short refNum);
  85. pascal OSErr SerClrBrk(short refNum);
  86. pascal OSErr SerGetBuf(short refNum,long *count);
  87. pascal OSErr SerStatus(short refNum,SerStaRec *serSta); 
  88. #ifdef __cplusplus
  89. }
  90. #endif
  91.  
  92. #endif
  93.